package com.example.sangong.service;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 * 事务测试
 */
public interface TranctionTestService {


    void addCaseOne();
    void addCaseTwo();
    void addCaseThree();
    void addCaseFour();

    void testRequireNew();

    void testSupports();


    void  addWithSupportsPropagationOne();
    void  addWithMandatoryPropagationOne();
    void  addWithNeverPropagationOne();

    @Transactional(propagation = Propagation.NOT_SUPPORTED)
    void addWithNotSupportedPropagationOne();

    void  addWithRequiredNewPropagationOne();
    void  addWithRequiredPropagationOne();
    void  addWithRequiredPropagationTwo();
    void  addWithNestedPropagationThree();
    void  addWithNestedPropagationFour();

    void testNotSupports();

    void testSupports2();

    void testMandatory();

    void testNever();
}
